ROOTLOCS is a program for plotting Root Locus diagrams of linear control systems. Given the positions of the open loop poles and zeros of a system in the complex plane, it plots the loci of the system's closed loop poles as the loop gain of the system is increased indefinitely starting from zero. ROOTLOCS can handle systems with up to 18 poles and 18 zeros, it offers a choice of working in either the S or the Z plane
and it allows investigation of both positive and negative gain control loops.
System Requirements
-------------------
ROOTLOCS requires system 7 and a screen resolution of at least 640 x 480 pixels (preferably colour).
The program was written and tested on a Macintosh Power Book 540c but it should
run on any Mac meeting the above basic requirements. The present version has no automatic detection of screen size so the plot may appear somewhat small on large monitors - I hope to fix that in a future version. Colour capability of at least 4 colours is desirable but not absolutely essential: the program will run on non-colour
systems but the 'Show Points' tool in the "Tools" menu may not work entirely as it should. On slower machines (68030 and less), the plotting time for systems with many poles and zeros may be rather long.
Data Input Procedure
-------------------
On starting the program a window called "Root Locus Inputs" appears. This window contains a number of editable data fields and buttons into which the following data
has to be entered at the appropriate places :
* number of open loop poles and zeros in the system to be plotted
* the open loop pole and zero positions (real and imaginary parts)
* the left, right, lower and upper boundaries of the plotting region
where the loci are expected to appear
* the working plane of interest, S or Z - (radio button)
* positive or negative gain loci required - (radio button)
IMPORTANT - PLEASE READ CAREFULLY
The Data Insertion Prompt (DIP) takes the form of a flashing vertical bar. On program
start the DIP is positioned at the left of the first data entry field (number of poles).
After entering data into any field, the DIP should be advanced to the next field with
the TAB key, or, it may be moved backwards (e.g. for editing) with SHIFT+TAB. The
DIP can also be positioned by pointing and clicking with the mouse. The CReturn key
is NOT used during data entry mode. The left, right, lower and upper boundaries of
the plotting region must be entered into the (non-outlined) fields located at the two lower and two right corners of the mini-plane near the bottom of the Input Window. When data entry is complete, root locus plotting can be started by clicking on the START button or pressing the CReturn key.
The use of the TAB key to advance the DIP takes a little getting used to. I advise to keep one finger permanently on the TAB key during data entry. It will be found that,
once mastered, this technique allows data to be entered quickly and effectively.
The Input Window also contains a button called TEST. This button calls up a built-
in set of PZ values and draws a simple Root Locus plot. The purpose is to perform
a quick check and demonstration of program operation without having to enter any data at all. I recommend to try this button first.
A word about the Plots
--------------------
All loci that terminate inside the plotting region, as well as those that cross it, are
plotted. The plotting time increases rapidly with the number of PZ and ranges from
a few seconds for the simplest systems up to about 10 minutes (on a PB 540c) for a system with the full 18 pole and 18 zero complement.
Systems with non-conjugate P and/or Z (corresponding to polynomials with complex coefficients) are plotted as readily as normal (fully conjugate) systems.
The coordinates of the open loop PZ, and the coordinates and gains of points clicked onto the Root Loci with the SHOW GAIN POINTS tool (see below), are displayed in the upper and lower windows, respectively, to the right of the main Root Locus plot.
The plotting process can be interrupted by pressing CMD + Period.
Tools
-----
After all loci have been plotted, a number of tools are available from the Tools menu:
* SHOW DAMPING LINES - shows lines of constant damping ratio
in the S plane, or lines of constant damping ratio and constant
undamped natural frequency in the Z plane
* SHOW GAIN POINTS - enables the root locus gain and coordinates
of points on the plotted loci to be interrogated with the mouse
* WIPE LINES & POINTS - removes the damping lines and gain points
drawn with the two previous tools
* SET GAIN MARKER - sets a marker at a user defined gain value on
all locus branches
* EDIT INPUTS - brings up the data input window and allows the
inputs to be modified for a new plot .
Limitations
-----------
The program has been extensively tested and incorporates special routines to cope with 'difficult' PZ patterns. It is, therefore, reasonably robust and can be relied upon to handle most situations successfully. Nevertheless, it is not possible to guarantee that all PZ arrangements will be handled without problem and situations may arise which cause the computer to 'hang'.
In order to minimise the probability of 'hang-up', the following specific situations should be avoided as far as possible:
- Coincident singularities of different type.
-------------------------------------
Coincident poles are o.k. and coincident zeros are o.k. but poles coincident
with zeros (cancellation) should not be input
- Closely spaced singularities
-------------------------
PZ spacings which are very small compared with the plotting region size
(diagonal) may give rise to problems. In the event of hang-up in such cases,
try reducing the size of the plotting region or force coincidence of closely
spaced PZ of the same type (i.e. approximate them with multiple order
poles or multiple order zeros)
- Singularities on Boundaries of Plane
--------------------------------
The boundaries of the plotting region should be chosen so they do not have
any open loop poles or zeros on them
Should any 'problem cases' be found which can not be explained by any of the above conditions, I would appreciate to receive details of them. Such feedback will help me to refine the program further.
Disclaimer and Legal Stuff
-------------------------
ROOTLOCS is freeware. It is supplied ‘as is’ and its suitability for any particular purpose is not guaranteed. I cannot be held responsible for any loss or damage arising out of the use or misuse of the program.
No part of this software may be redistributed in modified form, and no part may be removed and used as part of any other software without the express permission of
the author in writing. This document in unmodified form must accompany any copies
of the software that may be made.
Literature References
--------------------
Graphical Analysis of Control Systems.
W.R. Evans, Trans. AIEE vol. 67 pp. 547-551, 1948
Numerical Computation of Root Loci Using the Newton-Raphson Technique.
R.H.Ash & G.H.Ash, IEEE Transactions on Automatic Control, October 1968.